/*################################################################
# TRABAJO PRACTICO Nº2                                           #
# EJERCICIO 4                                                    #
# Primera reentrega                                              #
# ALUMNOS                                                        #
# Alonso, Rodolfo                            DNI: 33.474.354     #
# Barrera, Lourdes                           DNI: 33.306.634     #
# Gomez, Ezequiel                            DNI: 35.274.172     #
# Mahiques, Pablo                            DNI: 33.834.348     #
# Sanchez, Martín                            DNI:                #
################################################################*/

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define ARCHIVO_FIFO "./fifo"

int descriptor_fifo = 0;

int main()
{
    // Inicializacion /////////////////////////////////////////////////////////
    
    descriptor_fifo = open(ARCHIVO_FIFO, O_RDONLY); //abre el fifo para read
    if (descriptor_fifo < 0)
    {
        printf("Error abriendo el archivo FIFO (asegurese de que el generador de numeros esta corriendo).\n");
        exit(1);
    }

    // Bucle principal /////////////////////////////////////////////////////////
    
    for(;;)
    {
        int num;
        if( read(descriptor_fifo, &num, sizeof(num)) == 0 )
        {
            // Si no se puede leer, finalizamos el programa
            break;
        }
        printf("%d\n", num);
    }
    
    // Cerramos los descriptores
    close(descriptor_fifo);

    return 0;
}
